<template>
  <div class = "container" @click="handleGallaryClick">
    <div class = "wrapper">
      <swiper :options = "swiperOptions">
        <swiper-slide
          v-for = "(item, index) in imgs"
          :key = "index">
            <img class = "gallary-img" :src= "item">
        </swiper-slide>
        <div class="swiper-pagination"  slot="pagination"></div>
      </swiper>
    </div>
  </div>
</template>

<script>
export default {
  name: 'CommonGallary',
  props: {
    imgs: {
      type: Array,
      default () {
        return []
      }
    }
  },
  data () {
    return {
      swiperOptions: {
        pagination: '.swiper-pagination',
        paginationType: 'fraction',
        // 显示图片的页数
        observeParents: true,
        observer: true
        // 当swiper插件监听到observeParents或observer发生了dom结构变化时，会自动地自我刷新一次
        // 通过自我刷新，就可以解决swiper自我计算的问题
      }
    }
  },
  methods: {
    handleGallaryClick () {
      this.$emit('close')
    }
  }
}
</script>

<style lang="stylus" scoped>
  .container >>> .swiper-container
    overflow inherit
  .container
    display flex
    flex-direction column
    justify-content center
    z-index 99
    // z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。
    position fixed
    left 0
    right 0
    top 0
    bottom 0
    background #000
    .wrapper
      // overflow hidden
      height 0
      width 100%
      padding-bottom 100%
      .gallary-img
        width 100%
      .swiper-pagination
        color #fff
        bottom -30px
</style>
